MongoError: Cursor not found
1つのcursorを長時間回していると発生するMongoError
batch処理などで発生する
Mongoose 8やMongoDB 8ではMongoServerError: Cursor id (id) not foundという名前のエラーになっている
addCursorFlag('noCursorTimeout', true)である程度は解決できるが
https://mongoosejs.com/docs/api/querycursor.html#querycursor_QueryCursor-addCursorFlag
http://mongodb.github.io/node-mongodb-native/2.2/api/Cursor.html#addCursorFlag
https://github.com/nota/scrapbox/pull/4175
安易に頼らない方がいいshokai.icon
特にbatch処理では、どうしても必要なケースもあるが
そもそも、どう対策してもMongoDBのfail overやclusterの構成変更時などに発生するものなので、レジュームやリトライ等の戦略から練っておく必要がある
詳しくはMongoDBのCursor not foundエラーやnoCursorTimeoutオプションとの向き合い方にまとめたshokai.icon